package com.xing.crm.mapper;

import com.xing.crm.pojo.ProRole;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author Mr.L
 * @version V1.0
 * @date 2021年08月04日 16:13
 */
@Repository
public interface ProRoleMapper {
	
	/**
	 * 功能描述:

	 * @date 2021/8/4 16:15
	 * @param params
	 * @return java.util.List<com.xing.crm.model.ProRole>
	 * */
	List<ProRole> list(Map<String, Object> params);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/4 16:25
	 * @param params
	 * @return int
	 * */
	int count(Map<String, Object> params);
	
	/**
	 * 功能描述:

	 * @date 2021/8/4 16:15
	 * @param role
	 * @return int
	 * */
	int insert(ProRole role);
	
	/**
	 * 功能描述:

	 * @date 2021/8/4 16:15
	 * @param role
	 * @return int
	 * */
	int edit(ProRole role);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/4 16:16
	 * @param id
	 * @return int
	 * */
	int delete(int id);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/4 16:36
	 * @param id
	 * @return int
	 * */
	int delRelationData(int id);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/4 16:25
	 * @param id
	 * @return com.xing.crm.model.ProRole
	 * */
	ProRole get(int id);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/9 11:50
	 * @param 
	 * @return java.util.List<com.xing.crm.model.ProRole>
	 * */
	List<ProRole> getRoles();
	
	/**
	 * 功能描述: 

	 * @date 2021/8/9 10:33
	 * @param uid
	 * @return com.xing.crm.model.ProRole
	 * */
	ProRole getUserRole(int uid);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/9 15:08
	 * @param roleName
	 * @return com.xing.crm.model.ProRole
	 * */
	ProRole getRoleByName(String roleName);
	
	/**
	 * 功能描述: 

	 * @date 2021/8/11 16:03
	 * @param uid
	 * @param rid 角色id
	 * @return int
	 * */
	int insertUserRole(@Param("uid") int uid, @Param("rid") int rid);
	
	/**
	 * 功能描述: 删除用户所有角色

	 * @date 2021/8/11 16:26
	 * @param uid
	 * @return int
	 * */
	int delUserRole(int uid);
	
	/**
	 * 功能描述: 删除用户关联角色

	 * @date 2021/8/13 10:54
	 * @param id
	 * @return int
	 * */
	int deleteUserRoleById(@Param("id") int id);
	
	/**
	 * 功能描述: 删除店铺下的所有用户角色关联

	 * @date 2021/8/16 9:53
	 * @param uid
	 * @return int
	 * */
	int deleteShopUsersRole(int uid);
}
